122 research outputs found

    Neighbourhood Abstraction in GROOVE - Tool Paper

    Get PDF
    In this paper we discuss the implementation of neighbourhood graph abstraction in the GROOVE tool set. Important classes of graph grammars may have unbounded state spaces and therefore cannot be verified with traditional model checking techniques. One way to address this problem is to perform graph abstraction, which allows us to generate a finite abstract state space that over-approximates the original one. In previous work we presented the theory of neighbourhood abstraction. In this paper, we present the implementation of this theory in GROOVE and illustrate its applicability with a case study that models a single-linked list

    Using Graph Transformations and Graph Abstractions for Software Verification

    Get PDF
    In this paper we describe our intended approach for the verification of software written in imperative programming languages. We base our approach on model checking of graph transition systems, where each state is a graph and the transitions are specified by graph transformation rules. We believe that graph transformation is a very suitable technique to model the execution semantics of languages with dynamic memory allocation. Furthermore, such representation allows us to investigate the use of graph abstractions, which can mitigate the combinatorial explosion inherent to model checking. In addition to presenting our planned approach, we reason about its feasibility, and, by providing a brief comparison to other existing methods, we highlight the benefits and drawbacks that are expected

    Graph Subsumption in Abstract State Space Exploration

    Get PDF
    In this paper we present the extension of an existing method for abstract graph-based state space exploration, called neighbourhood abstraction, with a reduction technique based on subsumption. Basically, one abstract state subsumes another when it covers more concrete states; in such a case, the subsumed state need not be included in the state space, thus giving a reduction. We explain the theory and especially also report on a number of experiments, which show that subsumption indeed drastically reduces both the state space and the resources (time and memory) needed to compute it.Comment: In Proceedings GRAPHITE 2012, arXiv:1210.611

    Solving the N-Queens Problem with GROOVE - Towards a Compendium of Best Practices

    Get PDF
    We present a detailed solution to the N-queens puzzle using GROOVE, a graph transformation tool especially designed for state space exploration and analysis. While GROOVE has been freely available for more than a decade and has attracted a reasonable number of users, it is safe to say that only a few of these users fully exploit the tool features. To improve this situation, using the N-queens puzzle as a case study, in this paper we provide an in-depth discussion about problem solving with GROOVE, at the same time highlighting some of the toolā€™s more advanced features. This leads to a list of best-practice guidelines, which we believe to be useful to new and expert users alike

    A Type Graph Model for Java Programs

    Get PDF
    In this report we present a type graph that models all executable constructs of the Java programming language. Such a model is useful for any graph-based technique that relies on a representation of Java programs as graphs. The model can be regarded as a common representation to which all Java syntax graphs must adhere. We also present the systematic approach that is being taken to generate syntax graphs from Java code. Since the type graph model is comprehensive, i.e., covers the whole language speciļ¬cation, the technique is guaranteed to generate a corresponding graph for any valid Java program. In particular, we want to extract such syntax graphs in order to perform static analysis and model checking of programs written in Java. Although we focus on Java, this same approach could be adapted for other programming languages

    Using Graph Transformations and Graph Abstractions for Software Verification

    Get PDF
    In this paper we describe our intended approach for the verification of software written in imperative programming languages. We base our approach on model checking of graph transition systems, where each state is a graph and the transitions are specified by graph transformation rules. We believe that graph transformation is a very suitable technique to model the execution semantics of languages with dynamic memory allocation. Furthermore, such representation allows us to investigate the use of graph abstractions, which can mitigate the combinatorial explosion inherent to model checking. In addition to presenting our planned approach, we reason about its feasibility, and, by providing a brief comparison to other existing methods, we highlight the benefits and drawbacks that are expected

    Modelling and Analysis Using GROOVE

    Get PDF
    In this paper we present case studies that describe how the graph transformation tool GROOVE has been used to model problems from a wide variety of domains. These case studies highlight the wide applicability of GROOVE in particular, and of graph transformation in general. They also give concrete templates for using GROOVE in practice. Furthermore, we use the case studies to analyse the main strong and weak points of GROOVE

    Scaling model for a speed-dependent vehicle noise spectrum

    Get PDF
    Abstract Considering the well-known features of the noise emitted by moving sources, a number of vehicle characteristics such as speed, unladen mass, engine size, year of registration, power and fuel were recorded in a dedicated monitoring campaign performed in three different places, each characterized by different number of lanes and the presence of nearby reflective surfaces. A full database of 144 vehicles (cars) was used to identify statistically relevant features. In order to compare the vehicle transit noise in different environmental condition, all 1/3-octave band spectra were normalized and analysed. Unsupervised clustering algorithms were employed to group together spectrum levels with similar profiles. Our results corroborate the well-known fact that speed is the most relevant characteristic to discriminate between different vehicle noise spectrum. In keeping with this fact, we present a new approach to predict analytically noise spectra for a given vehicle speed. A set of speed-dependent analytical functions are suggested in order to fit the normalized average spectrum profile at different speeds. This approach can be useful for predicting vehicle speed based purely on its noise spectrum pattern. The present work is complementary to the accurate analysis of noise sources based on the beamforming technique

    Investigation on clusters stability in DYNAMAP's monitoring network during Covid-19 outbreak

    Get PDF
    Abstract From March 23rd to May 3rd 2020, Italy underwent a complete lockdown in the attempt to contain the spread of the pandemic due to Covid-19 outbreak. During this period, a new kind of environment has been experienced in all cities, resulting in an abatement of traffic noise levels. Consequently, due to the prohibition of all non-essential activities, traffic noise dynamics changed as well. In this paper, we analyse the data recorded from the permanent noise monitoring network installed in the pilot area of the city of Milan, Italy. The results show how, besides a dramatic reduction of the noise levels (about 6 dB on average), also the noise pattern was profoundly changed. This is particularly important in the framework of DYNAMAP, a statistically based European project able to predict traffic noise over an extended area based on the noise recorded by limited number of monitoring stations. The change of the traffic dynamics, resulting in different noise patterns of the normalized hourly median profiles for each sensor, pose some limitations about the use of such predicting tool during extraordinary situations such as that experienced during a lockdown

    Graph abstraction and abstract graph transformations (Amended version)

    Get PDF
    Many important systems such as concurrent heap-manipulating programs, communication networks, or distributed algorithms, are hard to verify due to their inherent dynamics and unboundedness. Graphs are an intuitive representation for the states of these systems, where transitions can be conveniently described by graph transformation rules. We present a framework for the abstraction of graphs supporting abstract graph transformation. The abstraction method naturally generalises previous approaches to abstract graph transformation. The set of possible abstract graphs is finite. This has the pleasant consequence of generating a finite transition system for any start graph and any finite set of transformation rules. Moreover, abstraction preserves a simple logic for expressing properties on graph nodes. The precision of the abstraction can be adjusted according to the properties expressed in this logic that are to be verified
    • ā€¦
    corecore